package com.example.deepseek.service;

import java.io.IOException;
import java.util.List;

import com.example.deepseek.model.DocumentChunk;
import org.springframework.web.multipart.MultipartFile;

public interface PdfProcessingService {
    
    /**
     * 处理PDF文件，提取文本并存储到向量数据库
     * 
     * @param file 上传的PDF文件
     * @return 处理结果摘要
     * @throws IOException 如果文件读取或处理过程中发生错误
     */
    String processPdfDocument(MultipartFile file) throws IOException;
    
    /**
     * 基于问题在向量数据库中搜索相关文档片段
     * 
     * @param question 用户问题
     * @param maxResults 最大返回结果数
     * @return 相关文档片段列表
     */
    List<DocumentChunk> searchRelevantChunks(String question, int maxResults);
    
    /**
     * 清空向量数据库中的所有文档
     * 
     * @return 成功清除的文档数量
     */
    int clearAllDocuments();
}